﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using DTO;
using BUS;

namespace NHA_HANG_BUFFET
{
    public partial class frmQuanLyKho : DevComponents.DotNetBar.Office2007Form
    {
        public frmQuanLyKho()
        {
            InitializeComponent();
        }
        //Khai báo property cho NhanVien
        private DTO.NhanVien nv = null;

        public DTO.NhanVien NV
        {
            get { return nv; }
            set { nv = value; }
        }
        NguyenVatLieuB busNVL = new NguyenVatLieuB();
        PhieuXuatKhoB busPXK = new PhieuXuatKhoB();
        int manvqlkho;
        int manvbep;
        int mapyc = 0;

        private void frmQuanLyKho_Load(object sender, EventArgs e)
        {
            //Hiện tên nhân viên và nút thoát
            this.lbDangXuat.ForeColor = Color.Red;
            this.lbTenNV.ForeColor = Color.Red;
            this.lbTenNV.Text = nv.TenNV;
        }

        private void lbDangXuat_Click(object sender, EventArgs e)
        {
            this.Close();
        }


        private void dateTime_ngayyc_TextChanged_1(object sender, EventArgs e)
        {
            DateTime ngay = dateTime_ngayyc.Value;
            DataTable dt = new DataTable();
            DataTable dtdh = new DataTable();
            dataNVLTuoiSong.Rows.Clear();
            dataNVLDaiHan.Rows.Clear();
            int stt = 0;
            int sttdh = 0;
            try
            {
                dt = busNVL.bLayDSNVLTuoiSong(ngay.ToString("yyyy-MM-dd"));
                lblNYC.Text = dt.Rows[0]["TenNV"].ToString();
                manvbep = Int16.Parse(dt.Rows[0]["MaNV"].ToString());
                mapyc = Int16.Parse(dt.Rows[0]["MaPhieuYC"].ToString());

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    stt++;
                    dataNVLTuoiSong.Rows.Add(stt.ToString(), dt.Rows[i]["MaNL"], dt.Rows[i]["TenNL"], dt.Rows[i]["DonVi"], dt.Rows[i]["SoLuongYC"]);
                }
                //Nguyen vat lieu dai han
                dtdh = busNVL.bLayDSNVLDaiHan(ngay.ToString("yyyy-MM-dd"));
                for (int i = 0; i < dtdh.Rows.Count; i++)
                {
                    sttdh++;
                    dataNVLDaiHan.Rows.Add(sttdh.ToString(), dtdh.Rows[i]["MaNL"], dtdh.Rows[i]["TenNL"], dtdh.Rows[i]["DonVi"], dtdh.Rows[i]["SoLuongYC"], dtdh.Rows[i]["SoLuongTon"], dtdh.Rows[i]["HanSuDung"]);
                }
                for (int i = 0; i < dataNVLDaiHan.Rows.Count; i++)
                {
                    if (Int16.Parse(dataNVLDaiHan.Rows[i].Cells["clSLYC"].Value.ToString()) > Int16.Parse(dataNVLDaiHan.Rows[i].Cells["clSLT"].Value.ToString()))
                    {

                        dataNVLDaiHan.Rows[i].DefaultCellStyle.BackColor = Color.Red;
                    }
                    else
                    {
                        //Kiem tra han su dung
                        DateTime ngayhh = DateTime.Now;
                        DateTime hansudung = Convert.ToDateTime(dataNVLDaiHan.Rows[i].Cells["clHanSuDung"].Value.ToString());
                        if (DateTime.Compare(ngayhh, hansudung) == 1)
                        {

                            dataNVLDaiHan.Rows[i].DefaultCellStyle.BackColor = Color.Blue;
                        }
                        else
                        {

                        }
                    }

                }
            }
            catch
            {
                return;
            }

        }
        private void bttLuu_Click(object sender, EventArgs e)
        {

            if (mapyc == 0)
            {
                return;
            }
            else
            {
                bttLuu.Visible = false;
                bttKDU.Visible = false;
                //int stt = 0;
                //Kiem tra data co du lieu 
                int j = dataLDS.Rows.Count - 1;
                int stt;
                //if (dataLDS.Rows[0].Cells["cotSTT"].Value == null)
                if (dataLDS.Rows[0].Cells["cotSTT"].Value == null)
                {
                    stt = 0;
                }
                else
                {
                    stt = Int16.Parse(dataLDS.Rows[j - 1].Cells["cotSTT"].Value.ToString());
                }
                try
                {
                    for (int i = 0; i < dataNVLTuoiSong.Rows.Count - 1; i++)
                    {
                        stt++;
                        dataLDS.Rows.Add(stt.ToString(), dataNVLTuoiSong.Rows[i].Cells["colMaNL"].Value.ToString(), dataNVLTuoiSong.Rows[i].Cells["colTenNL"].Value.ToString(), dataNVLTuoiSong.Rows[i].Cells["colDonVi"].Value.ToString());
                    }
                }
                catch
                {
                    return;
                }

            }

        }
        private void dataNVLDaiHan_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int i = dataLDS.Rows.Count - 1;
            int stt;
            if (dataLDS.Rows[0].Cells["cotSTT"].Value == null)
            {
                stt = 0;
            }
            else
            {
                stt = Int16.Parse(dataLDS.Rows[i - 1].Cells["cotSTT"].Value.ToString());
            }
            if (e.ColumnIndex == 7)
            {
                stt++;
                dataLDS.Rows.Add(stt.ToString(), dataNVLDaiHan.Rows[e.RowIndex].Cells["clMaNL"].Value.ToString(), dataNVLDaiHan.Rows[e.RowIndex].Cells["clTenNL"].Value.ToString(), dataNVLDaiHan.Rows[e.RowIndex].Cells["clDonVi"].Value.ToString());
            }
        }
        private void bttLapPhieuXuat_Click(object sender, EventArgs e)
        {
            if (mapyc == 0)
            {
                return;
            }
            else
            {
                PhieuXuatKho dto = new PhieuXuatKho();
                dto.NgayXuat = DateTime.Now;
                dto.BepKiNhan = manvbep;
                dto.NVLapPhieu = manvqlkho;
                dto.MaPYC = mapyc;
                if (busPXK.ThemPhieuXuatKho(dto))
                {
                    MessageBox.Show("Phiếu xuất đã được gởi đi");

                }
                else
                {
                    MessageBox.Show("Gởi thất bại");
                }
            }


        }

        private void dataLDS_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 5)
                {
                    dataLDS.Rows.RemoveAt(e.RowIndex);
                }
            }
            catch
            {
                return;
            }
        }
        private void bttLapDanhSach_Click(object sender, EventArgs e)
        {
            bool kt = true;
            //Kiem tra khac rong
            if (dataLDS.Rows[0].Cells["cotSTT"].Value == null)
            {
                kt = false;
                return;
            }
            for (int i = 0; i < dataLDS.Rows.Count - 1; i++)
            {
                if (dataLDS.Rows[i].Cells["cotSLN"].Value == null)
                {
                    MessageBox.Show("Chưa nhập số lượng");
                    kt = false;
                    return;
                }
            }
            if (kt)
            {
                MessageBox.Show("Danh sách đã được gởi đi ");
            }
            else
            {
                return;
            }


        }

        private void bttKDU_Click(object sender, EventArgs e)
        {

        }
    }
}
